package com.xxr.mom.ci.charging.interworking.vo;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 充电状态
 *
 * @description: EquipChargeStatus
 * @date: 2024/8/17 18:20
 * @author: natsuki_kining
 * @version: 1.0
 */
@Data
public class EquipChargeStatus {

    /**
     * 充电订单号
     * <p>
     * 必填
     */
    @JSONField(name = "StartChargeSeq")
    private String startChargeSeq;
    /**
     * 充电订单状态
     * 1:启动中;
     * 2:充电中;
     * 3:停止中;
     * 4:已结束;
     * 5:未知
     * 必填
     */
    @JSONField(name = "StartChargeSeqStat")
    private Integer startChargeSeqStat;
    /**
     * 充电设备接口编码
     * 必填
     */
    @JSONField(name = "ConnectorID")
    private String connectorId;
    /**
     * 充电设备接口状态
     * 必填
     * <p>
     * 1:空闲;
     * 2:占用（未充电);
     * 3:占用(充电中);
     * 4:占用(预约锁定);
     * 255:故障
     */
    @JSONField(name = "ConnectorStatus")
    private Integer connectorStatus;
    /**
     * A相电流
     * 单位:A
     * 默认:0
     * 含直流(输出）
     * 必填
     */
    @JSONField(name = "CurrentA")
    private Double currentA = 0D;
    /**
     * B相电流
     * 单位:A，
     * 默认:0
     */
    @JSONField(name = "CurrentB")
    private Double currentB = 0D;
    /**
     * C相电流
     * 单位:A，默认:0
     */
    @JSONField(name = "CurrentC")
    private Double currentC = 0D;
    /**
     * A相电压
     * 单位:V，默认:0含直流（输出)
     * 必填
     */
    @JSONField(name = "VoltageA")
    private Double voltageA = 0D;
    /**
     * B相电压
     * 单位:V，默认:0
     */
    @JSONField(name = "VoltageB")
    private Double voltageB = 0D;
    /**
     * C相电压
     * 单位:V，默认:0
     */
    @JSONField(name = "VoltageC")
    private Double voltageC = 0D;
    /**
     * 电池剩余电量
     * 默认:0
     * 必填
     */
    @JSONField(name = "Soc")
    private Double soc = 0D;
    /**
     * 开始充电时间
     * 必填
     */
    @JSONField(name = "StartTime", format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;
    /**
     * 本次采样时间
     * 必填
     */
    @JSONField(name = "EndTime", format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
    /**
     * 累计充电量
     * 单位:度
     * 小数点后2位
     * 必填
     */
    @JSONField(name = "TotalPower")
    private Double totalPower;
    /**
     * 累计电费
     * 单位:元
     * 小数点后2位
     */
    @JSONField(name = "ElecMoney")
    private Double elecMoney;
    /**
     * 累计服务费
     * 单位:元，
     * 小数点后2位
     */
    @JSONField(name = "SeviceMoney")
    private Double seviceMoney;
    /**
     * 累计总金额
     * 单位:元，
     * 小数点后2位
     */
    @JSONField(name = "TotalMoney")
    private Double totalMoney;
    /**
     * 时段数N
     * 范围:0~32
     */
    @JSONField(name = "SumPeriod")
    private Integer sumPeriod;
    /**
     * 充电明细信息
     */
    @JSONField(name = "ChargeDetails")
    private List<ChargeDetail> chargeDetails;

}
